package com.study.designpattern.strategy;

/**
 * <p>定义一组算法，把每组算法封装起来并且是他们可以互换</p>
 *1、StrategyA StrategyB 就是一组算法
 * 2、Context负责把他们封装起来
 * 3、策略模式本质是用了多态
 * 4、策略模式借用了代理模式的思想，差别在于策略模式的封装角色和被封装的策略模式不用同一个接口，如果是同一个接口就是代理模式了
 * @author chentao
 * @version v 0.1 2022/9/9 14:13
 */
public class Client {
    public static void main(String[] args) {
        Context context = new Context(new StrategyA());
        context.doAnything();
        context = new Context(new StrategyB());
        context.doAnything();
    }
}
